随机
Enter 搜索 ↑↓ 切换 Esc 清空

nginx_nginx -s

命令

向 nginx 主进程发送控制信号

nginx_nginx -s

向 nginx 主进程发送控制信号

补充说明

nginx -s 命令用于向正在运行的 nginx 主进程发送信号,实现进程控制。支持发送 stopquitreloadreopen 四种信号。

语法

nginx -s signal

信号类型

stop    # 快速关闭,类似 SIGTERM
quit    # 优雅关闭,等待当前请求处理完毕后关闭,类似 SIGQUIT
reload  # 重新加载配置文件
reopen  # 重新打开日志文件

常用实例

# 重新加载配置(常用)
nginx -s reload

# 快速停止
nginx -s stop

# 优雅停止(推荐生产环境使用)
nginx -s quit

# 重新打开日志(配合 logrotate 使用)
nginx -s reopen

信号工作原理

nginx 主进程(Master Process)
├── 读取并验证配置文件
├── 管理子进程(Worker Processes)
└── 接收信号并执行相应操作

nginx 子进程(Worker Processes)
└── 处理实际请求

reload 流程

# 1. nginx 收到 reload 信号
# 2. 主进程重新读取配置文件
# 3. 验证配置语法
# 4. 启动新的 worker 进程
# 5. 向旧 worker 发送 quit 信号
# 6. 旧 worker 处理完当前请求后退出

注意事项